package com.sophia.common.util;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.NetworkInterface;
import java.util.Enumeration;

public class Test {
//	public static void main(String[] args) {
////		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
////		Calendar cal=Calendar.getInstance();
////		
////		cal.add(Calendar.DATE, -30);    //得到前一天 
////		long date = cal.getTimeInMillis();
////		System.out.println(format.format(new Date(date)));
////		
////		String aa = "已超过结题时间?天，请速结题！";
//	    
//		
////		TreeNode rootNode = new TreeNode();
////	
////		System.out.println(JsonConvertHelper.convertObj(rootNode));
////		long [] pa = {18,31,4,1,0,2,37,35,3};
////		boolean a = ArrayUtils.contains(pa,19);
////		System.out.println(a);
//		String role = "role*name";
//		System.out.println(role.substring(role.indexOf("*")+1));
//	}
	      static String hexByte(byte b) { 
		    String s = "000000" + Integer.toHexString(b); 
		     return s.substring(s.length() - 2); 
		   } 
		 
		   public static void main(String[] args) throws Exception { 
		    System.out.println("本机器的所有的网卡MAC发下:"); 
	     getMacOnWindow(); 
		     getMac(); 
		   } 
		 
		   /** 
		    * JDK1.6新特性获取网卡MAC地址 
		    */ 
		   public static void getMac() { 
		     try { 
		       Enumeration<NetworkInterface> el = NetworkInterface.getNetworkInterfaces(); 
		       while (el.hasMoreElements()) { 
	         byte[] mac = el.nextElement().getHardwareAddress(); 
		         if (mac == null) 
		          continue; 
		 
		         StringBuilder builder = new StringBuilder(); 
		         for (byte b : mac) { 
	          builder.append(hexByte(b)); 
		          builder.append("-"); 
		        } 
		        builder.deleteCharAt(builder.length() - 1); 
		        System.out.println(builder); 
		 
		      } 
		    } catch (Exception exception) { 
		       exception.printStackTrace(); 
		    } 
		  } 
		 
		   /** 
		    * 原始的获取网卡MAC地址 
		   */ 
		   public static void getMacOnWindow() { 
	  try { 
		       String mac = null; 
		       Process process = Runtime.getRuntime().exec("ipconfig /all"); 
		       BufferedReader buffer = new BufferedReader(new InputStreamReader(process.getInputStream())); 
		      for (String line = buffer.readLine(); line != null; line = buffer.readLine()) { 
		        int index = line.indexOf("Physical Address"); 
		        int t = line.indexOf("物理地址");
		        
		        if (index <= 0 && t <=0) { 
		           continue; 
		        } 
		        index = t;
		        mac = line.substring(index + 36); 
		       break; 
	       } 
	     buffer.close(); 
		       process.waitFor(); 
		       System.out.println(mac); 
		   } catch (Exception exception) { 
		     exception.printStackTrace(); 
		    } 
		  } 
}